﻿using Estsh.Core.Base;
using Estsh.Core.Model.EnumUtil;
using Estsh.Core.Models;
using Estsh.Core.Repositories;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Estsh.Core.Wms.IRepositories
{
    public interface IJisShippingRepository : IBaseRepository<MesJisShipping>
    {
        /// <summary>
        /// 查询成品发运接口
        /// </summary>
        /// <returns></returns>
        public List<MesWmsJisShipping> GetFinishedShippedInfo();

        /// <summary>
        /// 处理成品发运接口
        /// </summary>
        /// <param name="mesWmsJisShippings"></param>
        /// <returns></returns>
        public bool InsertFinishedShippedInfo(List<MesWmsJisShipping> mesWmsJisShippings);

        /// <summary>
        /// 获取待Jis发运的数据
        /// </summary>
        /// <returns></returns>
        List<MesJisShipping> GetJisShippingInfo();
        /// <summary>
        /// 更新待Jis发运的数据
        /// </summary>
        /// <param name="outPdline"></param>
        /// <param name="status"></param>
        /// <returns></returns>
        int UpdateJisShippingInfo(MesJisShipping jisShip,
            MesEnumUtil.JisShipStatus status, string msg = "");
        /// <summary>
        /// 处理JIS发运
        /// </summary>
        /// <param name="outPdline"></param>
        /// <param name="bomDetails"></param>
        /// <param name="pdline"></param>
        /// <returns></returns>
        bool DoJisShip(MesJisShipping jisShip, SysStock cartonInfo);
    }
}
